Edge-node controlled resource distribution

ABSTRACT

This application describes apparatus and methods for using edge-computing to control resource distribution among access channels, such as a retail banking center. Edge-nodes may be configured to move a product display in response to detected or expected customer traffic flow in or near a retail location. Edge-nodes may be configured to redirect resources provided by a cloud computing environment to or away from the retail location. Based on customer traffic flow, edge-nodes may direct customers/resources to a retail location and ensure the retail location provides a predetermined quality of service.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.16/452,862 filed on Jun. 26, 2019, which is expressly incorporated byreference herein in its entirety.

FIELD OF TECHNOLOGY

This application describes apparatus and methods for distributingcomputing resources using edge-computing.

BACKGROUND

A merchant may operate multiple access channels to provide customerswith goods and services (hereinafter, “products”) offered by themerchant. A merchant may provide access to products via an online store.The merchant may provide access to products via a mobile application.The merchant may provide access to products via brick and mortarlocations.

Each access channel utilized by the merchant may have its own set ofresource requirements. For example, an online store may need to behosted by a computer system that can provide uninterrupted access tocustomers that attempt to access the online store. A mobile applicationmay need to be installed on a device that has sufficient computingresources to secure and process customer interactions with theapplication. A brick and mortar location may require human resources toadequately service customers.

Typically, the merchant may attempt to allocate resources to each accesschannel based on characteristics of the channel and customer demandassociated with the channel. However, such an approach may causeinefficient use, and potential waste, of important resources. Forexample, a merchant may determine that during the day, a brick andmortar location should be staffed with five employees to meet peakcustomer demand. However, peak customer demand may only occur for anhour or two during the day. Thus, for most of the day, the merchant hasover supplied resources to this access channel.

As a further example, a merchant may provide self-serve kiosks, such asautomated teller machines (“ATMs”). The ATMs may be distributed within ageographic area. The ATMs may need to be stocked with cash to meetexpected customer demand. However, the merchant may not know which ATMwill be visited by a particular customer at any particular time. Eachcustomer that resides within the geographic area may have equal accessto each ATM. Thus, in an effort to provide maximum customersatisfaction, the merchant may attempt to maintain a threshold level ofcash in all ATMs within the geographic area.

However, it may be costly to maintain the threshold level of cash in allthe ATMs. Furthermore, despite the merchant's best efforts, on anyparticular day, a particular ATM may be frequented by an unexpectednumber of customers that exceeds expected demand. When expected demandis exceeded, some customers that visit the ATM may be informed that theATM does not have sufficient cash on hand.

It would be desirable to reduce waste associated with underutilizedresources. It would be desirable to improve the efficiency of resourcesdeployed by the merchant. It would be desirable to improve utilizationof resources deployed by the merchant and improve customer satisfactionand quality of service provided by the merchant across multiple accesschannels.

Accordingly it is desirable to provide apparatus and methods foredge-node controlled computing resource distribution.

BRIEF DESCRIPTION OF THE DRAWINGS

The objects and advantages of the disclosure will be apparent uponconsideration of the following detailed description, taken inconjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 shows an illustrative system in accordance with principles of thedisclosure;

FIG. 2 shows an illustrative system in accordance with principles of thedisclosure;

FIG. 3 shows an illustrative system in accordance with principles of thedisclosure;

FIG. 4 shows operation of an illustrative system in accordance withprinciples of the disclosure;

FIG. 5 shows an illustrative distribution of resources in accordancewith principles of the disclosure;

FIG. 6 shows illustrative re-distribution of resources shown in FIG. 5in accordance with principles of the disclosure;

FIG. 7 shows an illustrative method of re-distributing resources inaccordance with principles of the disclosure;

FIG. 8 shows illustrative apparatus and process for re-distributingresources in accordance with principles of the disclosure;

FIG. 9 shows illustrative apparatus for re-distributing resources inaccordance with principles of the disclosure; and

FIG. 10 shows illustrative resource demand in accordance with principlesof the disclosure.

DETAILED DESCRIPTION

Apparatus and methods for edge-node controlled computing resourcedistribution are provided. An edge-node may be a node on the peripheryor edge of a network. An illustrative network may be aninternet-of-things (“IoT”) network. An IoT network may include one ormore nodes. Each node may include two or more nodes.

Network nodes may include sensors. A sensor may detect changes inattributes of a physical or virtual operating environment. For examplesensors may measure attributes such as location, audio, rainfall,movement, temperature, water levels or activity of other sensors.Sensors may measure electronic network traffic, customer traffic,resource usage, electronic signals (e.g., input or output) or frequencyof user logins within a predefined geographic area.

Nodes may be any suitable size. For example, nodes may be a fewmillimeters in size. Nodes may be deployed in a wide variety oflocations. For example, sensors may be deployed in militarybattlefields, industrial plants, in orchards, in clothing, automobiles,smartphones, jewelry or refrigerators. Sensors may be relativelyinexpensive and have low energy consumption. Sensors may “sense” two ormore stimuli or environmental attributes.

Nodes may implement two or more functions. For example, sensors maymeasure changes in their operating (physical or virtual) environment,capture data corresponding to the measured changes and store/communicatethe captured data. Sensors may be accessed by other sensors or othernodes on the network.

A node may be an actuator. For example, based on data captured by asensor, an actuator may respond to a detected event. Based on thecapture and analysis of multiple sources of data (e.g., captured bysensors), an actuator may be instructed to take action autonomously,without human intervention.

Actuators may respond to data transmitted or processed by other nodes.Actuators may include devices that modify the physical state of aphysical entity. Actuators may include devices that modify a virtualstate of information. Actuators may move (translate, rotate, etc.)physical objects or activate/deactivate functionalities of physicalobjects.

For example, actuators may dim a light bulb, open a door, change atemperature setting and/or any other suitable functionality. Actuatorsmay push notifications or redistribute resources. For example,notifications may route resources consumers (e.g., customers) to alocation that has available resources to service the consumption.

Within an IoT environment, sensor nodes may perform the functions ofinput devices—they serve as “eyes” collecting information about theirnative operating environment. In contrast, actuator nodes may act as“hands” implementing decisions based on data captured by the sensornodes. A single node may include the functions of sensors and actuators.

Nodes may include an application programming interface (“API”) forcommunicating with other nodes. Nodes may communicate directly withother nodes using machine-to-machine (“M2M”) protocols. Illustrative M2Mprotocols may include MQ Telemetry Transport (“MQTT”). M2M includescommunication between two or more objects without requiring direct humanintervention. M2M communications may automate decision-making andcommunication processes for actuators.

Nodes may store captured data locally. For example, nodes may storecaptured data in on-board transitory and/or non-transitory computerreadable media. A node may transmit data. Data captured by a node may betransmitted to another node. A node may transmit data to a network core.

The network core may process the data. For example, multiple sensors maytransmit captured data to a cloud computing environment. The cloudcomputing environment may itself include multiple nodes, such ascomputer servers or other computer systems. Nodes of the cloud computingenvironment may be networked to each other.

The cloud computing environment may process data captured by other nodesfar from the location where the data was generated. For example,captured data may be transmitted from one node to another node until thecaptured data reaches a centrally located data depository.

Data captured by nodes in an operating environment may be voluminous andcomplex (e.g., structured/unstructured and/or constantly changing).Traditional data processing application software may be inadequate tomeaningfully process the voluminous and complex data (e.g., “big data”).A cloud computing environment may include software applicationsspecially designed to process large volumes of data (“big dataanalytics”).

Nodes may communicate with other nodes directly, without transmittinginformation to an intermediary node or central server, such as a cloudcomputing environment. Data may be transmitted by a node using anysuitable transmission method. For example, data captured by a node maybe transmitted from a smartphone via a cellular network. Nodes mayleverage a communication link provided by a smartphone to communicatecaptured data to other nodes.

As a result of the disparate nature of nodes, a networked operatingenvironment may support a variety of communication protocols.Illustrative supported protocols may include HyperText Transfer Protocol(“HTTP”), Simple Object Access Protocol (“SOAP”), REpresentational StateTransfer (“REST”) Constrained Application Protocol (“CoAP”), SensorML,Institute of Electrical and Electronic Engineers (“IEEE”) 802.15.4(“ZigBee”) based protocols, IEEE 802.11 based protocols. For example,ZigBee is particularly useful for low-power transmission and requiresapproximately 20 to 60 milli-watts (“mW”) of power to provide 1 mWtransmission power over a range of 10 to 100 meters and a datatransmission rate of 250 kilo-bits/second.

To further conserve energy, a node may communicate wirelessly for shortperiods of time. Utilizing this approach, one or more standard sizesingle cell dry battery batteries (e.g., AA size) may provide a nodewith requisite computing power and wireless communication for manymonths.

A physical layer may link nodes within a network. The physical layer mayprovide data ports and communication pathways to move data betweenmultiple sub-networks and nodes. Such communication pathways may bewired or wireless. Exemplary wireless communication pathways may includeEthernet, Bluetooth, Wi-Fi, 3G, 4G, 5G and any other suitable wired orwireless broadband standards. Illustrative data ports of nodes mayinclude hardware and/or software for receiving and/or transmitting datausing any suitable communication pathway.

Each node may be assigned a unique identifier. For example, nodes may beidentified by one or more radio frequency identification (“RFID”) tags.The RFID tag may be stimulated to transmit identity information aboutthe node or any other information stored on the RFID tag. Nodes may beidentified by an Internet Protocol (“IP”) address. Nodes may beidentified based on a user. For example, a smartphone may be a nodeidentified based on a user that successfully inputs biometriccredentials.

Nodes may be positioned in, and capture data from, diverse operatingenvironments. Operating environments may include geographic locations orvirtual locations on electronic networks. Captured data may betransmitted to a location where information is needed for decisioning orconsumption. Such a location may not be the same location where the datawas captured or generated. Data synchronization protocols and cachingtechniques may be deployed across a network to facilitate transmissionof data, or delivery of data to, any desired node.

For example, a location where data is captured may not have continuous,reliable network connectivity. Accordingly, captured data may be storedlocally on a node until a network connection is available to transmit orbroadcast the captured data to another node.

Nodes may be grouped. Nodes may be grouped based on physical proximityor based on the content (or expected content) of data captured by thesensor. Nodes may be grouped based on detected movement of a node. Forexample, nodes may be affixed to vehicles or other moveable objects.Nodes may move in or out of a network. Nodes within a geographic areamay be grouped based on their presence within the geographic area. Nodesmay be grouped based on their expected trajectory. Nodes may be groupedbased on whether they are resource consumer or providers. Nodes may begrouped based on expected resource consumption. Nodes may be groupedvirtually. Grouped nodes may form a sub-network.

Nodes may be grouped based on “closeness.” “Closeness” may be definedbased on geographic proximity. “Closeness” may be defined based on alength of a communication pathway (physical or virtual) that connects anode and an edge-node. “Closeness” may be defined based on a length of acommunication pathway (physical or virtual) that connects a node and anedge-node.

A length of a communication pathway may be defined based on a number ofintermediary nodes between a node and an edge-node. A length of acommunication pathway may be defined based on distance physicallyseparating a node from an edge-node.

Contextually, data captured by nodes may provide information not onlyabout the native (physical or virtual) operating environment surroundinga node, but data captured by multiple nodes may provide data thatsignifies occurrence an event. The data may be analyzed by a cloudcomputing environment. Analytical tools (e.g., big data analysistechniques) may detect, within the data, occurrence of an event thattriggers actuator nodes to take responsive action.

Advances in embedded systems, such as System-on-a-Chip (“SoC”)architectures, have fueled development of nodes that are powerful enoughthemselves to run operating systems and complex data analysisalgorithms. An illustrative SoC may include a central processing unit(“CPU”), a graphics processor (“GPU”), memory, power managementcircuits, and communication circuit. Within an operating environment,such nodes may be positioned closer (relative to the cloud computingenvironment) to other data gathering nodes such as sensors. Nodespositioned close to the source of generated data and having sufficientcomputational power to process the data may be termed “edge-nodes.”Edge-nodes may integrate sensing capabilities, actuating capabilities,data connectivity and/or computing capacities.

Edge-nodes may control sensors, actuators, embedded devices and othernodes. Edge-nodes, or the nodes they control, may not be continuouslyconnected to a network. Edge-nodes may provide computational resourcespositioned near the source of captured data or near an operatingenvironment. Processing data using edge-nodes may reduce thecommunication bandwidth needed to transmit data from a node to a cloudcomputing environment.

For example, a sensor deployed in a windfarm turbine may detect changesin wind speed or wind direction. Typically, the sensor may transmitdetected changes to a remote cloud computing environment. The remotecloud computing environment may process data received from the sensor(and other nodes) and issue instructions to adjust a position of theturbine in response to the detected changes. However, communicationwith, and processing by, the cloud computing environment may injectadditional latency before the turbines are adjusted in response to thesensed changes.

By running data analytics and processing closer to the originatingsource of data, actuator response times may be improved. Edge-nodesembedded in the turbine may include sufficient processing power toanalyze sensed data and adjust turbines with less latency (perhaps evenin close to real-time) and thereby optimize electricity production ofthe turbine.

In addition to providing faster response time to sensed changes,processing data using edge-nodes may reduce communication bandwidthrequirements and improve overall data transfer time across a network.Furthermore, less frequent data transmissions may enhance security ofdata gathered by nodes. Frequent data transfers may expose more data tomore potential security threats. For example, transmitted data may bevulnerable to being intercepted en-route to the cloud computingenvironment.

Additionally, edge-nodes may be tasked with decision-makingcapabilities. Edge-nodes may discard non-essential data generated bysensors. Such disregarded data may never be transmitted or stored in thecloud computing environment, further reducing network bandwidthconsumption and exposure of such data to security threats.

For example, a network of security cameras (e.g., sensor nodes) maygenerate large amounts of video data. Transmitting such large amounts ofvideo data to a cloud computing environment may utilize significantbandwidth—possibly preventing the cloud computing environment fromtimely receiving other data. Edge-nodes may analyze the video data atthe source, before transmitting the video data to the cloud computingenvironment. The analysis by the edge-nodes may identify “important”video data and discard the rest. Only the important video data may betransmitted to the cloud computing environment, reducing networkcongestion.

For some applications, necessary reliability and critical-path controlmanagement make it undesirable to wait for the cloud computingenvironment to process data and issue responsive instructions. Ofteninstructions to actuators need to be issued in milliseconds or faster.Round-trip communication to a cloud computing environment introducesundesirable latency.

For example, an anti-collision algorithm for an autonomous vehicle maybe executed by the cloud computing environment. However, it would befaster and more reliable for such anti-collision algorithms to be run byedge-nodes. Furthermore, the anti-collision data may have short-termvalue and it would therefore be undesirable to regularly transmit thatdata to the cloud computing environment.

Some nodes may be deployed in areas with poor network connectivity. Forexample, industries such as mining, oil/gas, chemicals and shipping maynot be well served by robust affordable communication infrastructure.Incorporating edge-nodes may allow networks associated with theseindustries to process data without robust communication infrastructure.

Utilizing edge-nodes to process data may improve security of a network.For example, a network breach may be detected by an edge-node. Theintrusion may be quarantined by or at the edge-node and thereby preventthe breach from compromising the entire network.

Edge-nodes may run encryption algorithms and store biometric informationlocally. Such dispersion of security protocols may reduce risk ofsecurity information being comprised. Utilizing edge-nodes may disperseprocessing power needed to run the security or encryption algorithms.

Utilizing edge-nodes may improve reliability of a network. For example,edge-nodes with machine learning capabilities may detect operationaldegradation in nodes, equipment, and infrastructure deployed within anoperating environment. Early detected degradation may be cured beforedeveloping into full-blown failures.

Generally, edge-nodes may include a processor circuit. The processorcircuit may control overall operation of an edge-node and its associatedcomponents. A processor circuit may include hardware, such as one ormore integrated circuits that form a chipset. The hardware may includedigital or analog logic circuitry configured to perform any suitable(e.g., logical) computing operation.

A edge-node may include one or more of the following components: I/Ocircuitry, which may include a transmitter device and a receiver deviceand may interface with fiber optic cable, coaxial cable, telephonelines, wireless devices, physical layer hardware, a keypad/displaycontrol device or any other suitable encoded media or devices;peripheral devices, which may include counter timers, real-time timers,power-on reset generators or any other suitable peripheral devices; alogical processing device, which may compute data structuralinformation, structural parameters of the data, quantify indices; andmachine-readable memory.

Machine-readable memory may be configured to store, in machine-readabledata structures: captured data, computer executable instructions,electronic signatures of biometric features or any other suitableinformation or data structures. Components of a node may be linked by asystem bus, wirelessly or by other suitable interconnections. Edge-nodecomponents may be present on one or more circuit boards. In someembodiments, the components may be integrated into a single chip, suchas a SoC. The chip may be silicon-based.

The node may include RAM, ROM, an input/output (“I/O”) module and anon-transitory or non-volatile memory. The I/O module may include amicrophone, button and/or touch screen which may accept user-providedinput. The I/O module may include one or more of a speaker for providingaudio output and a video display for providing textual, audiovisualand/or graphical output.

Software applications may be stored within the non-transitory memoryand/or other storage medium. Software applications may provideinstructions to the processor that enable an edge-node to performvarious functions. For example, the non-transitory memory may storesoftware applications used by an edge-node, such as an operating system,application programs, and an associated database. Alternatively, some orall of computer executable instructions of an edge-node may be embodiedin hardware or firmware components of the edge-node.

Software application programs, which may be used by an edge-node, mayinclude computer executable instructions for invoking user functionalityrelated to communication, such as email, short message service (“SMS”),and voice input and speech recognition applications. Softwareapplication programs may utilize one or more algorithms that requestalerts, process received executable instructions, perform powermanagement routines or other suitable tasks.

An edge-node may support establishing network connections to one or moreremote nodes. Such remote nodes may be edge-nodes, sensors, actuators orother computing devices. Edge-nodes may be personal computers orservers. An edge-node may communicate with other nodes using a dataport. The data port may include a network interface or adapter. Thecommunication circuit may include the modem. The data port may include acommunication circuit. An edge-node may include a modem, antenna orother communication circuitry for establishing communications over anetwork, such as the Internet. The communication circuit may include thenetwork interface or adapter.

Via the data port and associated communication circuitry, an edge-nodemay access network connections and communication pathways external tothe edge-node. Illustrative network connections may include a local areanetwork (“LAN”) and a wide area network (“WAN”), and may also includeother networks. Illustrative communication pathways may include Wi-Fi,wired connections, Bluetooth, cellular networks, satellite links, radiowaves, fiber optic or any other suitable medium for carrying signals.

The existence of any of various well-known protocols such as TCP/IP,Ethernet, FTP, HTTP and the like is presumed, and a node can be operatedin a client-server configuration to permit a user to retrieve web pagesfrom a web-based server. Web browsers can be used to display andmanipulate data on web pages.

Edge-nodes may include various other components, such as a display,battery, speaker, and antennas. Edge-nodes may be portable devices suchas a laptop, tablet, smartphone, other “smart” devices (e.g., watches,eyeglasses, clothing having embedded electronic circuitry) or any othersuitable device for receiving, storing, transmitting and/or displayingelectronic information.

An edge-node may include a display constructed using organic lightemitting diode (“OLED”) technology. OLED technology may enhancefunctionality of an edge-node. OLEDs are typically solid-statesemiconductors constructed from a thin film of organic material. OLEDsemit light when electricity is applied across the thin film of organicmaterial. Because OLEDs are constructed using organic materials, OLEDsmay be safely disposed without excessive harm to the environment.

Furthermore, OLEDs may be used to construct a display that consumes lesspower compared to other display technologies. For example, in a LiquidCrystal Display, power must be supplied to the entire backlight, even toilluminate one pixel in the display. In contrast, an OLED display doesnot necessarily include a backlight. Furthermore, in an OLED display,preferably, only the illuminated pixel draws power.

The power efficiency of OLED technology presents a possibility fordesigning edge-nodes that consume less power for their basicfunctionality and allow any residual available power to provide enhancedsecurity and functionality. Illustrative devices that may be constructedusing OLED technology are disclosed in commonly assigned U.S. Pat. No.9,665,818, which is hereby incorporated by reference herein in itsentirety.

An edge-node may be, and may be operational with, numerous other generalpurpose or special purpose computing system environments orconfigurations. Examples of well-known computing systems, environments,and/or configurations that may be suitable for use with this disclosureinclude, but are not limited to, personal computers, server computers,handheld or laptop devices, tablets, “smart” devices (e.g., watches,eyeglasses, clothing having embedded electronic circuitry) mobile phonesand/or other personal digital assistants (“PDAs”), multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputers, mainframe computers,distributed computing environments that include any of the above systemsor devices, and the like.

Edge-nodes may utilize computer-executable instructions, such as programmodules, executed by a processor. Software applications may includemultiple program modules. Generally, program modules include routines,programs, objects, components, data structures, etc. that performparticular tasks or implement particular abstract data types. Anedge-node may be operational with distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotecomputer storage media including memory storage devices. Edge-nodes mayinteract with a network of remote servers hosted on the Internet tostore, manage, and process data (e.g., a cloud computing environment).

Edge-nodes may include a battery. The battery may be a power source forelectronic components of the edge-node. For example, the battery maysupply power to the display, the communication circuit and the processorcircuit. In some embodiments, an edge-node may include a plurality ofbatteries. Edge-nodes may include solar panels that convert solar energyinto electricity that power one or more components of an edge-node.

An edge-node may receive data in real-time or at pre-defined intervals,such as once a day. The edge-node may filter data captured by one ormore nodes. The edge-node may repackage or reformat captured data. Dataconversion may include transformation of low level raw data (possiblyfrom multiple sensors or groups of sensors) into meaningful informationfor a specific audience or for a specific analysis.

For example, captured data intended for human consumption or interactionmay be converted into a human understandable format. Captured dataintended for machine consumption may be converted into a format readableby a particular machine or node.

An edge-node may perform pattern recognition to identify correlationsand trends in captured data. The correlations and trends may indicateexpected or current resource consumption. The edge-nodes mayredistribute resources based on expected or current resource usage. Theedge-nodes may route resources consumers (e.g., customers) to a locationthat has available resources to service the consumption.

The edge-node may evaluate a cost of resource consumption or costs ofredistributing resources and/or consumers. “Costs” may be monetary(e.g., labor costs or infrastructure costs), time-related or related toa level of intrusion needed to obtain desired data.

“Costs” may be bandwidth-related. For example, a communication pathwaymay be associated with a fixed bandwidth. A communication pathway mayinclude nodes and network connectivity linking those nodes. Thebandwidth may limit an amount of information or a rate of transmissionover the communication pathway. As further example, a node may respondslowly to a request from another node if there is a large amount ofinformational traffic traveling on a communication pathway shared withother nodes. The large amount of informational traffic may not leavesufficient bandwidth for the transmitting node to timely communicatewith the requesting node.

As a further example, a node may respond slowly if the node transmits alarge amount of captured data. If transmitted all at once, the largeamount of information transmitted by the node, together with otherinformational traffic traveling on a shared communication pathway, maybe close to, or exceed bandwidth resources of the communication pathway.As a result, the network may become congested and other nodes on thenetwork may be unable to transmit time-sensitive captured data in atimely manner.

Data travelling within a network to/from nodes may be routed alongmultiple communication pathways until the transmitted informationreaches a desired destination node (e.g., a cloud computingenvironment). Each communication pathway may service a number ofconnected nodes and a respective volume of informational traffic.

It may be difficult to ascertain available bandwidth resources on aparticular communication pathway. It may be difficult to ascertain whichcommunication pathways are being utilized to transmit informationbetween nodes. Nodes attempting to transmit information over acommunication pathway may not be aware of a number of connected nodes, avolume of traffic on a particular communication pathway or a bandwidthcapacity of a communication pathway.

Furthermore, a communication pathway may be controlled by a differententity from an entity responsible for operation of a particular node.The entity responsible for operation of the node may be unable tomonitor a number of nodes that share a communication pathway, abandwidth capacity of a communication pathway or a volume of traffictransmitted on a communication pathway. Edge-node may be configured tomanage data transmission of other nodes and associated bandwidth usageand reduce network congestion.

Apparatus may include an edge-node computing system. The system mayprovide data-driven assessment of products available within a merchantlocation. The system may provide data-driven assessment of productpositioning within the merchant location. The system may include sensorspositioned on and around the product or product location. The sensorsmay capture a detail-rich set of data of customer activity surrounding aproduct, such as the foot/online traffic the product attracts, a ratioof customers who pick up/view the product, a ratio of customers whoactually purchase the product.

The edge-nodes may be configured to process the captured customeractivity data. The customer activity data can be processed by edge-nodesand analyzed to provide an assessment of the product as well as theproduct environment, and resources needed to maintain a quality ofservice provided to customers. Based on the captured data, theedge-nodes may be configured to change a position of the product withina merchant location. A merchant location may include any suitable accesschannel, such as online or brick and mortar.

Sensors may monitor customer traffic flow. Based on detected trafficflow, edge-nodes may re-route the flow of customers and/or availableresources to service the customer traffic flow. Illustrative sensors formonitoring customer traffic flow may include cameras, location sensors,gyroscopes, pedometers, pressure sensors, signal triangulation, networkusage, customer or node movement. For example, sensors may monitor usageof customer devices, payment instruments and transactions. An onlinebanking application may provide access to sensors and a communicationchannel of a customer's smartphone.

The system may monitor customer traffic for patterns connoting interestin specific products. Such monitoring may allow the edge-nodes toprovide precise and efficient traffic and resource routing to servicedetected interest in those products. For example, a customer may flag,using an online banking application, a product needed or of interest.The system may direct the customer, via the application or otherfeatures of a smartphone, to a location that has resources available toprovide the product to the customer.

The system may be configured to provide different resources to differentlocations. For example, resources may be routed based on detectedcustomer status. A customer status may dictate that customer is provideda higher level of quality of service than typically offered via anaccess channel. The system may be configured to flag such customers andallocate resources to the access channel to provide the higher level ofquality of service.

Based on detecting customer traffic flows, the system may route orredirect resources. For example, the system may route computingresources, such as bandwidth, to high-traffic locations. The system mayutilize edge-node computing to calculate the resources available (e.g.,cash or other ATM functionality) within a network of ATM's. Based ondetected customer traffic-flow or expected traffic flow patterns, thesystem may route customers to the nearest ATM that has resources neededby the customer.

Edge-node computing may also trigger replenishment of resources (e.g.,cash supply or maintenance crews) to provide a threshold level ofquality of service. For example, sensors embedded in an ATM may detectwhen the ATM is low on cash. In response to detecting low cash level,edge-nodes may redirect a customer to another nearby ATM with sufficientcash supply to meet a typical need of the customer.

An edge-node computing system is provided. The system may include amoveable product display. The moveable product display may be located ata first position within a merchant location. The location may be a brickand mortar retail location. An illustrative brick and mortar locationmay include a banking center operated by a financial institution. Abanking center may include ATMs or other self-service kiosks.

The system may include a first edge-node. The first edge-node may beconfigured to sense customer traffic in a banking center. For example,the first edge-node may sense a volume of customers that enter or exitthe banking center. The first edge-node may include a motion sensor. Amotion sensor may be positioned at or near an entrance to the bankingcenter. The first edge-node may include pressure sensors. One or morepressure sensors may be embedded in a floor of the banking center. Thepressure sensors may detect customer movement across the floor. Thefirst-edge node may include a heat sensor. Heat sensors may detectcustomer contact. The first edge-node may include two or more sensors.

The system may include a second edge-node. The second edge-node may beconfigured to sense a volume of customer traffic attracted by themoveable product display. For example, the second edge-node may includea motion sensor that is configured to detect when a customer pauses (fora threshold amount of time) in front of the moveable product display.The second edge-node may include a pressure sensor that is configured todetect when a customer pauses (for a threshold amount of time) in frontof the moveable product display. The second edge-node may include acamera that is configured to detect when a customer pauses (for athreshold amount of time) in front of the moveable product display. Thesecond edge-node may be moveable. The second edge-node may be configuredto move and position itself relative to a position of the moveabledisplay.

The system may include a third edge-node. The third edge-node may beembedded in the moveable product display. The third edge-node may beconfigured to sense customer engagement with the product display. Forexample, the moveable display may include two or more embedded sensors.The embedded sensors may detect when a customer reads informationpresented on the display.

For example, the embedded sensor may detect when a customer is lookingat the moveable display. Such sensors may detect a body position of thecustomer. Such sensors may detect eye movement of the customer. Theembedded sensors may detect when a customer touches the moveabledisplay. For example, the moveable display may include a touch sensitivescreen. The touch sensitive screen may detect when a customer contactsthe screen or “swipes” to read displayed information.

The embedded sensors may detect when a customer takes removablepromotional material available within the moveable display. For example,the promotional material may include a passive radio-frequencyidentification (“RFID”) tag. The embedded sensor may include a RFIDreader that detects movement of the passive RFID tag. The RFID readermay detect when a customer moves the promotional material.

Each of the three sensing edge-nodes may be configured to execute aconsensus protocol. The consensus protocol may be a softwareapplication. The consensus protocol may be executed by one edge-node.The consensus protocol may be executed by two or more node. The datacaptured by each of the three edge-nodes may be inputs to the consensusprotocol.

Illustrative consensus protocols may include a proof of work protocol, aproof of stake protocol, a delegated proof of stake protocol, atransaction as proof of stake protocol and a delegated byzantine faulttolerance protocol. Any suitable consensus protocol may be utilized.

An output of the consensus protocol may be a default level of interestin the moveable product display. The consensus protocol may ensure allthe edge-nodes agree on a default level of interest. The consensusprotocol may gauge the default level of interest based on a firstpositon of the moveable product display within the banking center. Theconsensus protocol may execute based on collective data sensed by eachthe three edge-nodes.

The consensus protocol may determine a second position of the productdisplay within the banking center. The consensus protocol may determinethat when the moveable display is in the second position, a greaternumber of customers may be attracted to, or engage with, the moveabledisplay.

The consensus protocol may issue instructions to the moveable productdisplay. The consensus protocol may issue the instructions to actuatornodes. The instructions may cause the moveable product display to movefrom the first position to the second position. The actuators may movethe moveable display.

The banking center may include a network of rails or tracks. The railsor tracks may be mounted on a ceiling of the banking center. The railsor tracks may be mounted in a floor of the banking center. The moveableproduct display may include wheels, treads or any other suitablemechanism for moving the moveable display. The moveable display mayinclude motors for rotating the wheels. Rotating the wheels may move themoveable display along the tracks/rails. The moveable display may movealong a floor of the banking center without tracks or rails.

The actuators of the moveable product display may operate according to aComputer Numerical Control (“CNC”) protocol. A CNC protocol may includestandard CNC protocols known to those skilled in the art. An edge-nodemay control movement of the moveable display.

The moveable product display may include collision avoidance sensors.When the moveable product display is moving from the first position tothe second position, the collision avoidance sensors may prevent themoveable display from contacting furniture or other obstacles in thebanking center. In some embodiments, when the moveable product displayis stationary, the collision avoidance sensors may gather data oncustomer attraction or engagement with the moveable product display. Anedge-node may run collision avoidance software that controls movement ofthe moveable display based on data gathered by the collision avoidancesensors.

Each edge-node may be configured to transmit sensed data to a cloudcomputing environment. The cloud computing environment may be remotefrom the banking center. Based on the sensed data collectively sensed bythe edge-nodes, the cloud computing environment may be configured todetermine a target location within the banking center for the moveableproduct display. The cloud computing environment may generateinstructions that move the moveable product display to the targetlocation.

The cloud computing environment may determine the target location basedon data associated with multiple moveable displays in multiple bankingcenters. The cloud computing environment may determine the targetlocation based on data associated with customer engagement with multiplemoveable displays in multiple banking centers. The cloud computingenvironment may determine that when the moveable display is in thetarget location, relative to the first or second position, a greaternumber of customers may be attracted to the information presented in themoveable display.

The target location determined by the cloud computing environment maynot correspond to the second position determined by the consensusprotocol. To resolve such position conflicts, the system may determinewhether the difference in position is greater than a threshold distance.When the difference in position differs by less than the thresholddistance, the system may not register a position conflict.

Before registering a position conflict, the system may determine whethereach of the determined positions is available for the moveable display,for a given layout of a banking center. For example, the target positionmay be unavailable because other equipment is already positioned in thetarget position. In some embodiments, the system may determine whetherthe other equipment may be moved.

When there is a position conflict, the system may be configured to givepriority to the position that is expected to yield more customerengagement with the moveable product display. Resolution of a positionconflict may rely on machine learning algorithms to determine the mosteffective position for the moveable display. The machine learningalgorithms may determine a most effective position for a moveabledisplay based on sensor data associated with a given banking center. Themachine learning algorithms may determine a most effective position fora moveable display based on sensor data collected from multiple bankingcenters. The data from multiple banking centers may be stored andanalyzed by the cloud computing environment.

Machine learning algorithms may determine the effectiveness of aposition for the moveable display. For example, a machine learningalgorithm may learn based on sensor data gathered by edge-nodes withinthe banking center. The sensor data gathered by the edge-nodes maydetermine a level of engagement and/or interest of customers with themoveable display.

The machine learning algorithm may correlate the sensor data gathered bythe edge-nodes with transactional activity that occurred in the bankingcenter. The machine learning algorithm may further correlatetransactional activity that occurred in the banking center and positionsof the moveable display with transactional activity that occurs aftercustomers leave the banking center. Transaction activity that occursafter customers leave the banking center may include purchases,withdrawals, transfers or any other suitable transactions.

Based on the correlations, the machine learning algorithm may determinewhether customers that engaged with the moveable product display utilizeproducts/services presented by the moveable display. A feedback loop mayallow the machine learning algorithm to learn which products/servicespresented by the moveable display are most utilized by customers thatfrequent the banking center. A feedback loop may allow the machinelearning algorithm to learn which products/services presented by themoveable display for a given position of the moveable display within thebanking center.

The machine learning algorithm may determine a location of the moveabledisplay and associated products to be presented by the moveable displaythat generate a threshold demand for a product. The machine learningalgorithm may issue instructions to the moveable display on whichproduct to present, at which time and which position, within the bankingcenter.

The machine learning algorithm may direct resources to the bankingcenter based on expected demand for products presented by the moveableproduct display. In some embodiments, the machine learning algorithm maymove the moveable display to a position that is calculated to generateless than a maximum or threshold demand for products presented by themoveable product display.

The machine learning algorithm may move the moveable display to aposition within the banking center that is calculated to trigger ademand for the presented products that can be serviced by resourcesavailable to the banking center. The machine learning algorithm mayposition the moveable display so that resources available to the bankingcenter service provide a threshold quality of service to customers.

The banking center may be one of a plurality of banking centers. Thecloud computing environment may be configured to determine a targetlocation for the moveable display based on sensed data received fromedge-nodes within a plurality of banking centers. Products presented bythe moveable display may be determined based on the collective datasensed by the edge-nodes in the banking center. Products presented bythe moveable display may be determined based sensed data received fromedge-nodes within a plurality of banking centers. Collective data mayindicate interest in particular products or suitable positions forinforming customers of a particular product.

The location of the moveable product display within a banking center maybe configured to change based on a time of day. The volume of customertraffic flow within the banking center may vary throughout the day. Theproducts/services provided by the banking center and desired bycustomers may change at different times during a day. In accordance withthose needs, the moveable product display may be configured to adjustits position and/or products presented.

For example, during times the banking center is expected to berelatively busy, the moveable display may transition to a position wherecustomers gather while waiting for available services. During othertimes of day, when the volume of customers entering the banking centeris lower, the moveable display may be moved closer to an entrance of thebanking center so that all customers entering the banking center areexposed to the moveable display.

In some embodiments, the moveable display may be completely hidden fromview. Hiding the moveable display may provide more space for customersto move about the banking center. Hiding the moveable display may reduceresources need by the banking center.

In other embodiments, the moveable display may present public serviceinformation. Public service information may include a weather or trafficadvisory or notice of an upcoming public holiday and associatedavailability of the banking center. In other embodiments, the moveabledisplay may be configured to provide entertainment programming tocustomers expected to be waiting for service.

The system may be configured to move the moveable display inanticipation of future customer traffic patterns in the banking center.The system may also be configured to detect unexpected customer trafficpatterns in the banking center. The system may move the moveable displayin response to real-time customer traffic patterns detected in thebanking center.

For example, the location of the moveable product display may beconfigured to change based on transactions executed by customers in thebanking center during a predetermined time period. The transactions mayindicate customers would benefit from another related service orproduct. The moveable display may be configured to display informationand associated materials about the related service or products. Themoveable display may be positioned within the banking center to informthe customers of the related services and/or products.

In some embodiments, the moveable display may adjust a position orinformation presented based on a transaction activity of a singlecustomer. For example, the moveable display may be positioned at or nearan exit of the banking center. In response to a service or productprovided to a customer, the moveable display may present informationassociated with a related product or service as the customer exits thebanking center.

An edge-node computing system is provided. The system may include acloud computing environment. The cloud computing environment maydistribute computing resources among a plurality of banking centers. Thesystem may include a first plurality of edge-nodes. The first pluralityof edge-nodes may be configured to sense and determine a customertraffic flow in a target banking center. The customer traffic flow mayinclude a number of customers currently in the banking center.

Edge-nodes may include motion sensors, temperature sensors, pressuresensors, capacitive touch sensors, pedometer sensors, gyroscope sensors,accelerometer sensors and/or location sensor. The first plurality ofedge-nodes may include sufficient computing power and resources to senseand analyze sensed data needed to determine a customer flow in thebanking center.

The system may include a second plurality of edge-nodes. The secondplurality of edge-nodes may be configured to sense customer flow withina predetermined distance of a banking center. The predetermined distancemay be a distance from the banking center or any other suitablelandmark. Illustrative distances may include inch, feet, meters, milesor any other suitable distance. The second plurality of edge-nodes maybe deployed within a predetermined distance of the banking center. Thesecond plurality of edge-nodes may determine a number of customersexpected to enter the banking center within a predetermined timeinterval.

The second plurality of edge-nodes may include merchant point-of-saleterminals and associated systems. The second plurality of edge-nodes mayinclude an online banking application running on a mobile device. Thesecond plurality of edge-nodes may include credit or debit paymentinstruments.

Data captured by the second plurality of edge-nodes may be indicative ofwhether a customer is expected to visit a target banking center. Forexample, the data gathered by the second plurality of edge-nodes mayindicate that a customer may follow a particular pattern before visitinga banking center. The pattern may be a series of transactions such aspurchases. The pattern may be a travel pattern. The pattern may be ahome-work commute.

The first and second plurality of edge-nodes may collectively execute aconsensus protocol. The consensus protocol may determine an expectedlevel of interest in a target banking center. The expected level ofinterest may be based on data sensed and captured by each of the firstand second plurality of edge-nodes. The expected level of interest maybe based on an analysis of the sensed and captured data. The analysismay be performed by individual edge-node for data sensed/captured bythat edge-node. The analysis may be performed by another edge-nodewithin a predetermined distance of an edge-node that sensed/gathereddata.

The consensus protocol executed by the edge-nodes may determine a levelof resources needed to provide a predetermined quality level of servicefor the level of interest. Resources may include computing resources.Illustrative computing resources may include communication bandwidth,processor time, dedicated server time, database access, applications,memory or any other computing resources typically provided to the targetbanking center by a cloud computing environment.

Resources may include available cash in a network of ATMs. For example,the consensus protocol may locate the ATMs most likely to be accessed bya given customer at a given time, and determine whether the ATMs thathave sufficient cash available. Edge-nodes may be embedded in an ATM.The edge-nodes embedded in the ATM may detect when the ATM is low oncash. The embedded edge-nodes may be configured to trigger cashreplenishment for the ATM when the ATM is low on cash.

The level of computing resources needed may be determined by theedge-nodes without transmitting the data to the cloud computingenvironment. The level of computing resources needed may be determinedby the edge-nodes without analysis, by the cloud computing environment,of data sensed/captured by the edge-nodes.

Based on the level of computing resources needed to provide thepredetermined level of service, the edge-nodes may collectively route aflow of computing resources from the cloud computing environment to thetarget banking center. The flow of computing resources may provide thetarget banking center with access to computing resources needed toprovide a predetermined quality level of service.

The cloud computing environment may route the computing resources to thetarget banking center by diverting computing resources from anotherbanking center. The cloud computing environment may route the computingresources to the target banking center by accessing unused and availablecomputing resources. The cloud computing environment may incur costs toobtain the computing resources to provide the predetermined qualitylevel of service.

The target banking center may be a first target banking center. Tomaintain the predetermined quality level of service at the first targetbanking center, the consensus protocol may be configured to utilizeedge-nodes and redirect customer traffic detected within thepredetermined distance to a second target banking center.

A second target banking center may have access to sufficient resourcesto service the redirected customers. Before redirecting customer trafficto the second target banking center, the consensus protocol may beconfigured to determine that the second target banking center isconfigured to provide a predetermined quality level of service for theredirected customers.

For example, the second target banking center may have available humanresources. The second target banking center may be an ATM withsufficient cash to service a typical withdrawal request of a redirectedcustomer. The consensus protocol may redirect customer traffic bypushing a notification to an edge-node such as a mobile device. Theconsensus protocol may redirect the customer traffic by calling themobile device and relaying an audio message redirecting the customer.

Based on maintaining a predetermined quality level of service, theconsensus protocol may be configured to redirect resources from a secondtarget banking center to the first target banking center. Any suitableresources may be redirected. Illustrative resources may includecomputing, cash and/or human resources.

For example, the consensus protocol may trigger a transfer of cash froma second target banking center to a first target banking center. Tomaintain the predetermined quality level of service, the consensusprotocol may redirect human resources from a second target bankingcenter to the first target banking center. The consensus protocol maytrigger a transfer of resources before an anticipated arrival ofexpected customer traffic at the first target banking center.

Methods for distributing computing resources among a plurality ofbanking centers are provided. Methods may include positioning a moveableproduct display at a first location within a banking center. Using afirst group of edge-nodes, methods may determine a volume of customertraffic in the banking center. Using a first group of edge-nodes,methods may determine a volume of customer traffic in the banking centerover a predetermined time period. A predetermined time period may beseconds, minute(s), hour(s), day(s), week(s), month(s), year(s) or anysuitable time period. An edge-node may include sufficient computingresources to determine the volume of customer traffic based on senseddata without accessing a remote cloud computing environment.

Methods may include using a second group of edge-nodes to determine avolume of customer traffic within a predetermined distance of thebanking center. The predetermined distance may be a distance from thebanking center or any other suitable landmark. Illustrative distancesmay include inch, feet, meters, miles or any other suitable distance.Methods may include determining the customer traffic within thepredetermined distance at any given time. Methods may includedetermining the customer traffic within the predetermined distance overa duration of time.

The second group of edge-nodes may include edge-nodes positioned in abanking center. The second group of edge-nodes may include edge-nodesthat are configured to sense data indicative of a level of interest, bycustomer traffic within the banking center, in a moveable display. Thesensed data may include customers that pass within a predetermineddistance of the moveable display, customers that pause in front of themoveable display, customers that read information presented by themoveable display, customers that touch the moveable display, customersthat take promotional material presented by the moveable display. Suchdata may be sensed by heat sensors, pressure sensor, motion sensors,RFID tags or any other suitable sensors.

Each edge-node in the second group may be configured to analyze itssensed data. Each edge-node in the second group may be configured todetermine a level of interest based on its sensed data. Methods mayinclude executing a consensus protocol among members of the first andsecond groups of edge-nodes. The consensus protocol may determine alevel of interest in the moveable product display that has been agreedupon by a group of edge-nodes.

Illustrative consensus protocols may include a proof of work protocol, aproof of stake protocol, a delegated proof of stake protocol, atransaction as proof of stake protocol and a delegated byzantine faulttolerance protocol. Any suitable consensus protocol may be utilized.

Methods may determine a level of computing resources needed to provide apredetermined quality level of service for the determined level ofinterest. Based on the level of interest, methods may includedetermining a target location for the moveable product display withinthe banking center. Providing the predetermined quality level of servicemay require resources. Illustrative resources may include computingresources, equipment and/or human resources. Based on the predeterminedquality level of service, the consensus protocol may be configured todirect resources to or from the banking center.

A target location may be configured to generate more or less customerinterest in the moveable product display. For example, the consensusprotocol may determine that a current position of the moveable displayis generating more interest than can be adequately serviced by resourcesavailable to the banking center. The consensus protocol may transferresources to the banking center to meet the increased interest. Theconsensus protocol may move the moveable display to a location isexpected to lower the level of interest and conserve resources availableto the banking center.

The consensus protocol may be configured to issue instructions to movethe moveable display to a target location within the banking center.Methods may include formulating and transferring the instructions toactuator nodes that move the moveable display. Methods may includemoving the moveable product display to the target location.

The target location may be configured to increase the level of interestin the moveable display. The target location may be configured todecrease the level of interest in the moveable display. Decreasing thelevel of interest may allow resources currently available to the bankingcenter to provide a predetermined quality level of service.

Methods may include routing resources to the banking center so that thebanking center can provide the predetermined quality level of service.The banking center may be a first banking center. Routing of resourcesmay include configuring a cloud computing environment to divertcomputing resources from a second banking center to the first bankingcenter. Illustrative routing computing resources to a banking center mayinclude adjusting bandwidth of network connections linking the bankingcenter to the cloud computing environment. Illustrative routingcomputing resources to a banking center may include adjusting processortime allocated by the cloud computing environment to the banking center.

A third group of edge-nodes may be embedded in the moveable productdisplay. Methods may include sensing customer engagement with themoveable product display. Methods may include executing the consensusprotocol among members of the first, second and third groups ofedge-nodes.

The moveable product display may provide access to a mix of products.Based on the level of interest, methods may include changing the mix ofproducts.

Methods may include routing human resources to the banking center. Basedon the consensus protocol, human resources may be provided to thebanking center such that the banking center is configured to provide thepredetermined quality level of service. Routing of human resources mayinclude automated scheduling of the human resources. The automatedscheduling may instruct employees, such as bank tellers, which bankingcenter they should report to.

The consensus protocol may route employees to different banking centersat different times of day. The consensus protocol may route employees todifferent banking centers based on maintaining the predetermined qualitylevel of service at a banking center. Edge-nodes may be configured toprovide employees with routing instructions. For example, routinginstructions may be displayed on an employee's mobile device or at theemployee's work station.

Apparatus and methods described herein are illustrative. Apparatus andmethods in accordance with this disclosure will now be described inconnection with the figures, which form a part hereof. The figures showillustrative features of apparatus and method steps in accordance withthe principles of this disclosure. It is to be understood that otherembodiments may be utilized and that structural, functional andprocedural modifications may be made without departing from the scopeand spirit of the present disclosure.

The steps of methods may be performed in an order other than the ordershown and/or described herein. Method embodiments may omit steps shownand/or described in connection with illustrative methods. Methodembodiments may include steps that are neither shown nor described inconnection with illustrative methods. Illustrative method steps may becombined. For example, an illustrative method may include steps shown inconnection with another illustrative method.

Apparatus may omit features shown and/or described in connection withillustrative apparatus. Apparatus embodiments may include features thatare neither shown nor described in connection with illustrativeapparatus. Features of illustrative apparatus may be combined. Forexample, an illustrative apparatus embodiment may include features shownor described in connection with another illustrative apparatus/methodembodiment.

FIG. 1 shows illustrative system architecture 100. Architecture 100 mayrepresent an illustrative network. Architecture 100 may include one ormore nodes. Each node may include two or more nodes. Nodes may be linkedto each via network 105. FIG. 1 shows exemplary nodes 103 that includesensors and actuators. Nodes 103 may communicate with data analysisengine 109 and data depository 101. Data analysis engine 109 and datadepository 101 may be included in a cloud computing environment. Dataanalysis engine 109 and data depository 101 may be illustrativecomputing resources provided by a cloud computing environment.

Sensors may include devices that detect changes in a physical or virtualenvironment. Sensors may measure changes in their native (physical orvirtual) environment, capture data corresponding to the measured changesand store/communicate the captured data. Sensors may be accessed byother sensors or other network nodes. Sensors may transmit captured datato another node.

Actuators may respond to data transmitted or processed by other nodes,such as data analysis engine 109. Actuators may include devices thatmodify the physical state of a physical entity. Actuators may includedevices that modify a virtual state of information. Actuators may move(translate, rotate, etc.) physical objects or activate/deactivatefunctionalities of physical objects. A single node may include thefunctions of sensors and actuators.

Generally, nodes on a network may interact and cooperate using one ormore interaction paradigms. Exemplary interaction paradigms includeprincipal-agent, client-server and peer-to-peer interactions. As aresult of the disparate nature of nodes 103, system architectures, suchas architecture 100 incorporating nodes 103 may support a variety ofcommunication protocols.

Nodes 103 may be produced by different manufacturers. Nodes 103 maycapture data in different formats. For example, nodes 103 may usedifferent data structures to store captured data. Nodes 103 may utilizedifferent communication protocols to transmit captured data orcommunicate with other nodes. Despite such operational differences,nodes 103 may be configured to operate substantially seamlesslytogether.

Nodes 103 may belong to, or be operated by, differentadministrative/management domains. Nodes 103 may be operated bydifferent domains without expressly-defined relationships among suchdomains. Interoperability of nodes 103 may allow captured data to besubstantially seamlessly captured and interpreted by data analysisengine 109 (or other nodes). Based on interpreting the captured data,data analysis engine 109 may issue instructions to nodes 103.

Data gathering by one or more of nodes 103 may be controlled by one ormore other nodes. For example, data analysis engine 109 may control aquantity and/or quantity of data captured by nodes 103. Alternatively,data depository 101 and/or analysis engine 109 may filter or otherwiseintelligently process data captured by nodes 103. One of nodes 103 maycontrol data gathering or actuation of another of nodes 103.

Timing of when data is captured by nodes 103 may be controlled by anysuitable node of architecture 100. For example, data may be captured inreal-time or at pre-defined intervals such as once a second, once aminute, once every hour, once a day or any other suitable interval. Datamay also be captured in response to a detected status change in anoperating environment.

Data analysis engine 109 may filter data captured by nodes 103. Dataanalysis engine 109 may repackage or reformat captured data. Dataconversion may include transformation of low level raw data (possiblyfrom multiple sensors or groups of sensors) into meaningful informationfor a specific audience or for a specific analysis. Data analysis engine109 may perform pattern recognition to identify correlations and trendsin captured data.

Data depository 101 may receive data captured by nodes 103. In someembodiments, data captured by nodes 103 may be transmitted directly todata analysis engine 109. Data stored in depository 101 may be sortedand analyzed by data analysis engine 109. Data stored in data depository101 may be so voluminous and complex (e.g., structured/unstructuredand/or constantly changing) that traditional data processing applicationsoftware may be inadequate to meaningfully process the data (e.g., “bigdata”). Data analysis engine 109 may include software applicationsspecially designed to process large volumes of data (“big dataanalytics”). Based on captured data, data analysis engine 109 mayreallocate resources to nodes 103 and identify new analytical modelsthat may utilize data captured by nodes 103.

Architecture 100 may include one or more layers of softwareapplications. Software applications may implement a variety of functionsand provide varied services to nodes of architecture 100. Softwareapplications running on data analysis engine 109 may submit requests tonodes 103 for retrieval of specific data to achieve a functional goal.Software applications may control data captured by nodes 103 or actionstaken by nodes 103. Software applications may control an allocation ofcomputing resources within architecture 100. Software applications mayprovide security services that mitigate threats to the integrity of datatransmitted by sensors 103 or architecture 100 generally.

Nodes 103 that are positioned relatively close to a source of data andhaving sufficient computational power to process data may be termed“edge-nodes.” Edge-nodes may integrate sensing capabilities, actuatingcapabilities, data connectivity and/or computing capacities. Edge-nodesmay control sensors, actuators, embedded devices and other nodes.Edge-nodes, or the nodes they control, may not be continuously connectedto a network. Edge-nodes may provide increased computational resourcespositioned near the source of captured data. Processing data usingedge-nodes may reduce communication bandwidth needed to transmit datafrom a node to a cloud computing environment for processing.

Nodes 103 may be grouped. Nodes may be grouped based on physicalproximity or based on proximity to an edge-node. An edge-node may createand/or be included in a node group. In some embodiments, captured datamay be organized by an edge-node. An edge-node may manage and coordinateinter-node communications for members of a group.

FIG. 2 shows illustrative node groups 200. Edge-node 208 is associatedwith group 207. Edge-node 208 may facilitate seamless communicationamong nodes of group 207. Edge-node 208 may facilitate securecommunication among nodes of group 207. Edge-node 208 may process datagathered by nodes in group 207. Edge-node 208 may monitor resourcesneeded by nodes in group 207. Edge-node 208 may allocate or reallocateresources to nodes in group 207.

Edge-node 202 is associated with group 201. Edge-node 202 may facilitateseamless communication among nodes of group 201. Edge-node 202 mayfacilitate secure communication among nodes of group 201. Edge-node 202may process data gathered by nodes in group 201. Edge-node 202 maymonitor resources needed by nodes in group 201. Edge-node 202 mayallocate or reallocate resources to nodes in group 201.

Edge-node 204 is associated with group 203. Edge-node 204 may facilitateseamless communication among nodes of group 203. Edge-node 204 mayfacilitate secure communication among nodes of group 203. Edge-node 204may process data gathered by nodes in group 203. Edge-node 204 maymonitor resources needed by nodes in group 203. Edge-node 204 mayallocate or reallocate resources to nodes in group 203.

Edge-node 206 is associated with group 205. Edge-node 206 may facilitateseamless communication among nodes of group 205. Edge-node 206 mayfacilitate secure communication among nodes of group 205. Edge-node 206may process data gathered by nodes in group 205. Edge-node 206 maymonitor resources needed by nodes in group 205. Edge-node 206 mayallocate or reallocate resources to nodes in group 205.

Data gathered by nodes in one group may be used by nodes in anothergroup. For example, data gathered by nodes in group 207 may be used bynodes in groups 207, 205 or 201. Data gathered by nodes in group 207 mayindicate a trajectory of a customer or a current position of a customer.Such data may be used by sensors in groups 201, 203 or 205 to determineresources needed to service customers. Based on the trajectory orcurrent position, edge-nodes 208, 204, 206 and/or 202 may reallocateresources to nodes in their respective groups.

FIG. 2 shows nodes groups communicating via central network 209.Edge-nodes may facilitate direct communication between one or more nodesof its group and one or more nodes of another group.

FIG. 3 shows illustrative system architecture 300. System 300 includesdata depository 305 and global data analysis engine 303. Data depository305 and global data analysis engine 303 may be resources provided bycloud computing environment 306. Data depository 305 may store datagathered by sensors 311 and actuators 313. Global data analysis engine303 may be configured to determine, based on the gathered data,resources that need to be allocated to a banking center. Global dataanalysis engine 303 may be configured to determine, based on thegathered data, a target position for a moveable product display in abanking center.

System 300 includes edge-node(s) 301. Edge-node(s) 301 may be positionedin a banking center. Edges-node(s) 301 may be configured to receive datafrom sensors 311 and issue instructions to actuators 313. Edge-node(s)301 may be configured to detect customer traffic flow within or near thebanking center. Customer traffic flow may include customers interestedin a product display. Sensors 311 may gauge customer interest based oncustomers who pick up promotional material presented by a productdisplay. Sensors 311 may detect customers who purchase a productpresented in a display. Sensors 311 may detect customers who engage(e.g., contact a touchscreen) with the moveable display.

Based on data gathered by sensors 311, edge-node(s) 301 may process thedata gathered using local data analysis engine 309. Edge-node(s) 301 mayissue instructions to actuators 313. The instructions may move amoveable product display to a target position within a banking center.The instructions may redirect customer traffic. The instructions maydirect/redirect computing resources. The instructions may redirectcomputing resources provided by cloud computing environment 306 vianetwork 307.

FIG. 4 shows illustrative system 400. System 400 includes cloudcomputing environment 413. Cloud computing environment 413 providesvarious computing resources to banking centers 405, 407 and 409. FIG. 4shows that cloud computing environment 413 provides illustrativecomputing resources such as email services 415, applications 419, dataconnectivity 421, processing power 423 and database 417.

System 400 includes edge-nodes 401, 402 and 403. FIG. 4 shows thatedge-nodes 401, 402 and 403 may monitor and process customer trafficflow 411. Customer traffic flow 411 may include customer traffic in abanking center. Customer traffic flow may include customer trafficattracted by a product display. Customer traffic flow may includecustomer traffic within a predetermined distance of a banking center.

Processing customer traffic flow may include gauging a level of customerinterest in a product display. Processing customer traffic flow mayinclude determining, based on the level of interest, a target positionfor the product display. Processing customer traffic flow may includedetermining a level of computing resources needed to provide apredetermined quality level of service for the level of interest orsensed customer traffic flow. Processing customer traffic flow mayinclude routing computing resources from cloud computing environment 413to a target banking center. Processing customer traffic flow may includeredirecting customer traffic. Processing customer traffic flow mayinclude routing computing resources of cloud computing environment 413from a first banking center (e.g., 405) to a second banking center(e.g., 409).

FIG. 5 shows illustrative customer traffic flow 500. Customer trafficflow 500 includes customer traffic associated with banking center BC₁(shown as 405 in FIG. 4 ). Customer traffic flow 500 includes customertraffic associated with banking center BC₂ (shown as 407 in FIG. 4 ).Customer traffic flow 500 includes customer traffic associated withbanking center BC₃ (shown as 409 in FIG. 4 ).

Customer traffic associated with a banking center may include customertraffic within a banking center. Customer traffic associated with abanking center may include customer traffic within a predetermineddistance of a banking center. Customer traffic associated with a bankingcenter may include customer traffic that demonstrates an interest in aproduct display. FIG. 5 shows that banking centers 407 and 409 areassociated with the same volume of customer traffic. FIG. 5 show thatbanking center 405 is associated with comparatively less customertraffic than banking centers 407 and 409.

FIG. 5 also shows resources available to a banking center. In FIG. 5 ,resources available to a banking center are represented by slices of apie chart. Thus, FIG. 5 shows that banking center 407 currently has moreavailable resources than banking centers 409 or 405. FIG. 5 also showsthat banking center 409 has more available resources than banking center405, and fewer available resources than banking center 407. FIG. 5 showsthat banking center 407 may have excess resources for the customertraffic currently associated with banking center 407. FIG. 5 shows thatbanking center 405 may have insufficient resources for the customertraffic currently associated with banking center 405.

FIG. 6 shows illustrative resource and customer distributions 600.Distribution 601 shows that customer traffic has been redirected(relative to FIG. 5 ) among banking centers 405, 407 and 409.Distribution 601 shows that customer traffic has been redirected(relative to FIG. 5 ) from banking centers 405 and 409 to banking center407. Edge-nodes (such as edge-nodes 401, 402 and 403 shown in FIG. 4 )may be configured to redirect customer traffic to provide apredetermined quality level of service at each of the banking centers.

FIG. 6 also shows resource distribution 603. Resource distribution 603shows that banking center 407 has more computing resources than bankingcenters 405 or 409. The additional computing resources may be redirectedfrom cloud computing environment 413 to banking center 407 by edge-node402. Resources provided to banking center 407 may ensure that bankingcenter 407 provides a predetermined quality level of service forcustomer traffic flow 601.

Resource distribution 603 also shows that banking centers 405 and 409now have sufficient resources to provide predetermined quality level ofservice for customer traffic flow 601 associated with those bankingcenters. Redirecting customer traffic away from banking centers 405 and409 may provide these banking centers sufficient resources. Customertraffic may be redirected by one or more of edge-nodes 401, 402 and 403.

FIG. 7 shows illustrative methods 700 for redirecting customer trafficor resources. Methods 700 include an edge-node (such as edge-nodes 401,402 and 403 shown in FIG. 4 ) pushing notification 701 to a customermobile device. Notification 701 may be pushed to a customer mobiledevice. The customer device may be within a predetermined distance of atarget banking center. An edge-node may determine that the customer isen-route to the target banking center and may desire a specific serviceprovided by the target banking center.

An edge-node may determine a location of the customer based on one ormore sensors embedded in the customer's mobile device. The edge-node maydetermine that the customer is en-route to the target banking centerbased on a detected trajectory of the customer. The trajectory may bedetected based on sensors embedded in the mobile device. Illustrativesensors may include a pedometer sensor, an accelerometer sensor, or alocation sensor. In some embodiments, the edge-node may be the mobiledevice of the customer.

The edge-node may determine a specific product desired by the customerbased on historical services utilized by the customer. The edge-node maydetermine the specific product desired by the customer based ontransactional activity that occurred prior to detecting that thecustomer is heading toward the target banking center. The edge-node maydetermine the specific product desired by the customer based on requestfor the product submitted by the customer.

Notification 701 shows that the edge-node informs the customer that adesired product is available at a nearby banking center. Notification701 informs the customer that resources are available at the nearbybanking center to provide a predetermined quality level of service.

Methods 700 include an edge-node pushing notification 703 to an employeedevice. Notification 703 may be pushed to the employee device when anedge-node determines that resources need to be redirected from onebanking center to another. Notification 703 shows that an employee isbeing redirected from a first banking center to a second banking center.The edge-node may determine that second banking will need additionalresources to service expected customer traffic.

FIG. 8 shows illustrative apparatus 800 for re-distributing resources ina banking center. Apparatus 800 shows moveable product display 801 attime to. Moveable product display 801 is configured to move across afloor of the banking center. Moveable product display 801 may include amulti-axis mechanical system designed to operate according to CNCprotocols. Moveable product display 801 may include wheels, axles, andmotors to drive axles. Moveable product display 801 may includeactuators configured to move a product presentation in any suitablefashion. Illustrative movements include pan, tilt, truck, dolly, follow,pedestal or otherwise orient itself in any suitable position.

Edge-node group 803 may monitor customer traffic in the banking centerand determine a target location for moveable product display 801 at timet₁. Edge-node group 803 may include sensors and edge-nodes within thebanking center. Edge-node group 803 may include sensors and edge-nodesoutside the banking center.

Edge-node group 803 may formulate and issue instructions to movemoveable product display 801. Moveable product display 801 may includeone or more sensors/actuators that move moveable product display 801 andavoid obstacles within the banking center. Illustrative obstaclesinclude decorative plant 805, customer seating area 821, ATM 807 andteller stations 809, 811 and 813. In some embodiments, moveable productdisplay may be specifically positioned relative to decorative plant 805,customer seating area 821, ATM 807 and teller stations 809, 811 and 813.

Edge-node network 803 may monitor customer traffic in the banking centerand determine a target location for moveable product display 801 at timet₂. Edge-node network 803 may formulate and issue instructions to movemoveable product display 801. To relocate to the t₂ positon, moveableproduct display 801 may need to avoid obstacles such as greeting kiosk819, financial advisor station 815, financial advisor station 817 andATM 823. In some embodiments, moveable product display may bespecifically positioned relative to greeting kiosk 819, financialadvisor station 815, financial advisor station 817 and ATM 823.

Edge-node network 803 may monitor customer traffic in the banking centerand determine a target location for moveable product display 801 at timet₃ or at any suitable time such as t_(y). Moveable product display 801may include one or more sensors that move the display and avoidobstacles within the banking center. Illustrative sensors that may beincluded in a moveable product display include motion sensors,temperature sensors, pressure sensors, a gyroscope, an accelerometersensor and location sensor.

FIG. 9 shows illustrative apparatus 900. Apparatus 900 includes moveableproduct display 903. Moveable product display 903 is moveable alongceiling mounted tracks 907 in a banking center. In some embodiments, amoveable product display may be configured to move on wall mountedtracks.

An edge-node may position moveable product display 903 in a targetposition. The edge-node may determine a target position expected toattract a threshold level of customer engagement with product display903.

FIG. 10 shows illustrative customer traffic flow 1000 near bankingcenters 1001, 1003 and 1005. Customer traffic flow 1000 may provide anestimated demand for resources needed to provide a threshold quality ofservice at banking centers 1001, 1003 and 1005.

Customer traffic flow 1000 shows a relatively high volume of customertraffic near banking center 1005. The relatively high volume of customertraffic may increase demand for resources at banking center 1005. Basedon detected customer traffic flow 1000, an edge-node may redirectadditional resources to banking center 1005. Based on detected customertraffic flow 1000, an edge-node may redirect customers near bankingcenter 1005 to banking center 1003. Based on detected customer trafficflow 1000, an edge-node may redirect resources from banking center 1001to banking center 1005. An edge-node may redirect resources by issuinginstructions to a cloud computing environment, customer mobile device ormoveable product display.

Thus, apparatus and methods for EDGE-NODE CONTROLLED RESOURCEDISTRIBUTION are provided. Persons skilled in the art will appreciatethat the present disclosure can be practiced by other than the describedembodiments, which are presented for purposes of illustration ratherthan of limitation. The present disclosure is limited only by the claimsthat follow.

What is claimed is:
 1. An edge-node computing system comprising: acloud-based system for distributing computing and cash resources among aplurality of banking centers; a first plurality of edge-nodes configuredto sense and determine a volume of human customer traffic and a level ofcustomer interest in a plurality of banking services in a target bankingcenter, wherein at least one of the first plurality of edge-nodes isembedded in a moveable display; and a second plurality of edge-nodesconfigured to sense, within a predetermined distance of the targetbanking center: customer traffic; and a level of customer interest in aplurality of banking services; wherein the first and second plurality ofedge-nodes collectively execute a consensus protocol that: determines alevel of customer interest in the target banking center based on datasensed by the first and second plurality of edge-nodes; determines thelevel of interest in the plurality of banking services; determines alevel of computing and cash resources needed to provide a predeterminedquality of service for the level of interest in the target bankingcenter; determines a level of computing and cash resources needed at thetarget banking center to provide a predetermined quality of service forthe level of customer interest in the plurality of banking services; androutes a flow of computing resources from the cloud-based system to thetarget banking center, and routes a flow of cash resources to the targetbanking center, such that the target banking center is provided accessto the level of computing and cash resources needed to provide thepredetermined quality of service for the level of customer interest inthe plurality of banking services at the target banking center; whereinthe cash resources comprise cash inventory available at the bankingcenter for dispensing in connection with the plurality of bankingservices; and wherein at least the determination of the level ofinterest in the plurality of banking services and the level of interestin the target banking center is calculated using a machine learningalgorithm.
 2. The edge-node computing system of claim 1, wherein thetarget banking center is a first target banking center, and to maintainthe predetermined quality of service at the first target banking center,the consensus protocol is configured to redirect the customer trafficwithin the predetermined distance to a second target banking center. 3.The edge-node computing system of claim 2, wherein before redirectingthe customer traffic, the consensus protocol is configured to determinethat the second target banking center is configured to provide thepredetermined quality of service.
 4. The edge-node computing system ofclaim 1, wherein the target banking center is a first target bankingcenter, and based on maintaining the predetermined quality of service,the consensus protocol is configured to redirect cash resources from asecond target banking center to the first target banking center beforean anticipated arrival at the first target banking center of thecustomer traffic within the predetermined distance.
 5. The edge-nodecomputing system of claim 1, wherein the target banking center is afirst target banking center, and based on maintaining the predeterminedquality of service, the consensus protocol is configured to redirecthuman resources from a second target banking center to the first targetbanking center before an anticipated arrival at the first target bankingcenter of the customer traffic within the predetermined distance.
 6. Theedge-node computing system of claim 1, wherein the target banking centeris a first target banking center, and based on the predetermined qualityof service, the consensus protocol is configured to redirect computingresources from a second target banking center to the first targetbanking center.
 7. The edge-node computing system of claim 1, wherein:the first plurality of edge-nodes comprises: a motion sensor; atemperature sensor; a pressure sensor; and a capacitive touch sensor;and the second plurality of edge-nodes comprises: a pedometer sensor; agyroscope sensor; an accelerometer sensor; and a location sensor.